/**
 * 根据ID从数组中查找对象
 * @param {Array} array - 要搜索的数组
 * @param {string|number} id - 要查找的ID
 * @param {string} [idKey='id'] - ID的属性名(默认是'id')
 * @returns {Object|null} 找到的对象，如果没找到则返回null
 */
export function findById(array, id, idKey = 'id') {
  // 检查参数有效性
  if (!Array.isArray(array)) {
    console.error('第一个参数必须是数组');
    return null;
  }
  
  if (id === undefined || id === null) {
    console.error('必须提供要查找的ID');
    return null;
  }
  
  // 统一转为字符串比较，避免数字1和字符串'1'不匹配的情况
  const searchId = String(id);
  
  // 使用find方法查找
  return array.find(item => {
    if (item && item[idKey] !== undefined) {
      return String(item[idKey]) === searchId;
    }
    return false;
  }) || null;
}